package com.spider.moudle.api;

import com.spider.moudle.entity.Task;
import com.spider.moudle.entity.TaskType;

import java.io.File;
import java.util.Map;

/**
 * Created by 夏茂轩 on 2017/1/10.
 * 输出接口
 */
public interface Writer {
    /**
     * @author 夏茂轩
     * @date 2017/1/11 14:27
     * @description 爬虫数据输出接口
     * @param path 数据输出文件夹
     * @param fileName 文件名
     * @param content 文件类容
     * @return 是否成功写入
     * @throws Exception 写入异常
     */
    public boolean write(String path, String fileName, String content) throws  Exception;


    /**
     * 将抓取到的数据输出，包括html源码文件
     * @param path
     * @param fileName
     * @param content
     * @param files
     * @return
     * @throws Exception
     */
    public boolean write(String path, String fileName, String content, Map<String, File> files) throws  Exception;


    /**
     * 通过任务类型和输出方式将爬虫数据输出到相应的位置
     * @param path 路径
     * @param fileName 文件名称
     * @param content 文件内容
     * @param taskType 任务类型
     * @return
     * @throws Exception
     */
    public boolean write(String path, String fileName, String content, TaskType taskType) throws Exception;


    /**
     * 输出任务
     * @param taskName taskName
     * @param task 任务
     * @return
     * @throws Exception
     */
    public void write(String taskName, Task task) throws Exception;


}
